package com.sh.rbac.domain.converter;

import com.sh.rbac.domain.dto.param.ParamSaveDTO;
import com.sh.rbac.domain.dto.param.ParamUpdateDTO;
import com.sh.rbac.domain.entity.Param;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 系统参数对象转换器
 *
 * @author wb
 * @since 2025-02-11
 */

@Mapper
public interface ParamConverter {

    ParamConverter INSTANCE = Mappers.getMapper(ParamConverter.class);


    /**
     * 将 ParamSaveDTO 转换为 Param 实体类
     *
     * @param paramSaveDTO 参数保存数据传输对象
     * @return 参数实体类
     */
    Param toEntity(ParamSaveDTO paramSaveDTO);


    /**
     * 将 ParamUpdateDTO 转换为 Param 实体类
     *
     * @param paramUpdateDTO 参数修改数据传输对象
     * @return 参数实体类
     */
    Param toEntity(ParamUpdateDTO paramUpdateDTO);
}
